// packagePersonalCenter/pages/topup/topup.js
Page({
 /**
   * 页面的初始数据
   */
  data: {
    i: 0,
    payType: 'wechatPay', // 设置默认支付类型为微信支付
    amount: 0,
    array: [10, 50, 100, 200, 500, 1000],
    encodedAmount:0,
    succ:0,
    userId:'',
    token:'',
    payPassword:''
  },
  handleInput: function(e) {
    let value = e.detail.value;
    // 只允许输入数字
    value = value.replace(/[^0-9]/g, '');
    // 限制长度为 6 位
    if (value.length > 6) {
      value = value.slice(0, 6);
    }
    // 将处理后的值设置回输入框
    this.setData({
      payPassword: value
    });
  },
   /**
   * 根据索引选择金额
   */
   selectAmountByIndex() {
    this.setData({
      amount: this.data.array[this.data.i]
    });
   },
   radioChange: function (e) {
    this.setData({
      payType: e.detail.value
    });
    // 这里可以根据选择的支付类型做进一步处理，比如记录选择结果，准备后续支付流程等
    console.log('当前选择的支付类型：', this.data.payType);
   },
   changeIndex(e) {
        return new Promise((resolve, reject) => { console.log(e.target.dataset.i); this.setData({ i: e.target.dataset.i }, () => { 
       // 在setData的回调函数中，此时数据已经更新完成，可以获取到更新后的值
     const updatedI = this.data.i;
    this.setData({ amount: this.data.array[updatedI] }, () => { console.log(this.data.array[updatedI]); 
    resolve(this.data.array[updatedI]); }); }); }); 
} ,
   inputAmount: function (e) {
    const inputValue = e.detail.value;
    if (!isNaN(inputValue) && inputValue >= 0) {
      this.setData({
        amount: inputValue
      });
    } else {
      wx.showModal({
        title: '提示',
        content: '请输入有效的金额',
        showCancel: false
      });
    }
   },
   checkAmount () {
    if (this.data.amount == 0) {
      wx.showModal({
        title: '提示',
        content: '输入金额不正确',
        showCancel: false
      });
      return;
    } 
    wx.request({
      url: 'http://localhost:8080/system/wallet/transaction', // 这里替换为你要请求的实际 API 地址
      method: 'PUT', // 请求方法，可以是 'POST'、'PUT'、'DELETE' 等，根据实际需求修改
       header: {
                  'authorization': 'Bearer\u0020' + this.data.token
              },
      data:{
        senderId:this.data.userId,//发钱人,用户id
        recipientId:9999,//
        money:this.data.amount,//金额
        payPassword:this.data.payPassword,//支付密码
        act:0,//转入或者转出
      },
      
      success: (res) => {
        // 请求成功的回调函数
        console.log("成功支付");
        this.setData({
          encodedAmount: encodeURIComponent(this.data.amount)
        })
      if (res.data.code == 200) {
        wx.navigateTo({
          url: "/packagePersonalCenter/pages/topupSuccess/topupSuccess?param=" + this.data.encodedAmount
        });
      }
      },
      fail: (err) => {
        // 请求失败的回调函数
        console.error('请求失败:', err);
        this.setData({
          responseData: '请求失败，请稍后重试'
        });
      }
    });

    
   } ,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const app=getApp()
     const token = wx.getStorageSync('token');//获取令牌
    this.setData({
      userId:app.globalData.userInfo.userId,
      token:token
    })
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})